package cn.com.dcsgo.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 店铺信息DTO
 *
 * @author Dcsgo
 * @since 2025/11/15 9:53
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "店铺信息DTO")
public class ShopInfoDTO {
    /**
     * 店铺id
     */
    @Schema(description = "店铺id")
    private Long shopId;

    /**
     * 店铺名称
     */
    @Schema(description = "店铺名称")
    private String shopName;

    /**
     * 店长用户id
     */
    @Schema(description = "店长用户id")
    private String userId;

    /**
     * 店铺类型
     */
    @Schema(description = "店铺类型")
    private Integer shopType;

    /**
     * 店铺简介
     */
    @Schema(description = "店铺简介")
    private String intro;

    /**
     * 店铺公告
     */
    @Schema(description = "店铺公告")
    private String shopNotice;

    /**
     * 店铺行业(餐饮、生鲜果蔬、鲜花等)
     */
    @Schema(description = "店铺行业(餐饮、生鲜果蔬、鲜花等)")
    private Integer shopIndustry;

    /**
     * 店长
     */
    @Schema(description = "店长")
    private String shopOwner;

    /**
     * 店铺绑定的手机(登录账号：唯一)
     */
    @Schema(description = "店铺绑定的手机(登录账号：唯一)")
    private String mobile;

    /**
     * 店铺联系电话
     */
    @Schema(description = "店铺联系电话")
    private String tel;

    /**
     * 店铺所在纬度
     */
    @Schema(description = "店铺所在纬度")
    private String shopLat;

    /**
     * 店铺所在经度
     */
    @Schema(description = "店铺所在经度")
    private String shopLng;

    /**
     * 店铺详细地址
     */
    @Schema(description = "店铺详细地址")
    private String shopAddress;

    /**
     * 店铺所在省份（描述）
     */
    @Schema(description = "店铺所在省份（描述）")
    private String province;

    /**
     * 店铺所在城市（描述）
     */
    @Schema(description = "店铺所在城市（描述）")
    private String city;

    /**
     * 店铺所在区域（描述）
     */
    @Schema(description = "店铺所在区域（描述）")
    private String area;

    /**
     * 店铺省市区代码
     */
    @Schema(description = "店铺省市区代码")
    private String pcaCode;

    /**
     * 店铺logo
     */
    @Schema(description = "店铺logo")
    private String shopLogo;

    /**
     * 店铺相册
     */
    @Schema(description = "店铺相册")
    private String shopPhotos;

    /**
     * 每天营业时间段
     */
    @Schema(description = "每天营业时间段")
    private String openTime;

    /**
     * 店铺状态(-1:未开通 0: 停业中 1:营业中)
     */
    @Schema(description = "店铺状态(-1:未开通 0: 停业中 1:营业中)")
    private Integer shopStatus;

    /**
     * 运费类型：0:商家承担运费; 1:买家承担运费
     */
    @Schema(description = "运费类型：0:商家承担运费; 1:买家承担运费")
    private Integer transportType;

    /**
     * 固定运费
     */
    @Schema(description = "固定运费")
    private BigDecimal fixedFreight;

    /**
     * 满X包邮
     */
    @Schema(description = "满X包邮")
    private BigDecimal fullFreeShipping;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private Date createTime;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    private Date updateTime;

    /**
     * 分销开关(0:开启 1:关闭)
     */
    @Schema(description = "分销开关(0:开启 1:关闭)")
    private Integer isDistribution;
}
